package fejezet20;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;

public class SzínkeverésRGB2 extends JApplet implements AdjustmentListener {
  private JPanel pnCsúszka=new JPanel();
  private JPanel pnSzín=new JPanel();
  private JScrollBar sbVörös=new JScrollBar();
  private JScrollBar sbKék=new JScrollBar();
  private JScrollBar sbZöld=new JScrollBar();

  @Override
  public void init() {
    setLayout(new GridLayout(2,1));
    csúszkaBeállít("Vörös", sbVörös);
    csúszkaBeállít("Zöld", sbZöld);
    csúszkaBeállít("Kék", sbKék);
    add(pnCsúszka);
    add(pnSzín);
    színBeállít();
  }

  private void csúszkaBeállít(String szín, JScrollBar sb) {
    pnCsúszka.add(new JLabel(szín+":"));
    sb.setMaximum(255+sb.getVisibleAmount());
    sb.setValue(128);
    sb.setPreferredSize(new Dimension(25, 100));
    sb.addAdjustmentListener(this);
    pnCsúszka.add(sb);
  }

  private void színBeállít() {
    int r=255-sbVörös.getValue(), g=255-sbZöld.getValue(), b=255-sbKék.getValue();
    getAppletContext().showStatus("RGB színkeverés ("+r+", "+g+", "+b+")");
    pnSzín.setBackground(new Color(r, g, b));
  }

  public void adjustmentValueChanged(AdjustmentEvent e) {
    színBeállít();
  }
}